﻿using System;

namespace CardPlay.Model.GameModel
{
    [AttributeUsageAttribute(AttributeTargets.Class, Inherited = false)]
    public class GameAttribute : Attribute
    {
        public GameAttribute(string id, LevelOfDifficulty difficultyLevel, LevelOfSkill skillLevel, DurationOfPlay typicalPlayingTime)
        {
            Id = Guid.Parse(id);
            NumberOfDecks = 1;
            Family = Resources.NoFamily;
            LevelOfDifficulty = difficultyLevel;
            LevelOfSkill = skillLevel;
            TypicalPlayingTime = typicalPlayingTime;
        }

        public Guid Id { get; private set; }

        public LevelOfDifficulty LevelOfDifficulty { get; private set; }

        public LevelOfSkill LevelOfSkill { get; private set; }

        public DurationOfPlay TypicalPlayingTime { get; private set; }

        public int NumberOfDecks { get; set; }

        public string Family { get; set; }
    }
}